package com.fuyao.cloud.daemon.quartz.feign;

import com.fuyao.cloud.common.core.util.R;
import com.fuyao.cloud.daemon.quartz.controller.SysJobConstants;
import com.fuyao.cloud.daemon.quartz.entity.SysJob;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;

/**
 * 定时任务提供远程接口类
 *
 * @author lyhil
 * @date 2022年4月25日
 */
@FeignClient(contextId = "sysJobService", value = SysJobConstants.DAEMON_QUARTZ)
public interface RemoteJobService {


    /**
     * 获取所有定时任务信息
     *
     * @return 所有定时任务集合
     */
    @GetMapping("/sys-job/jobAll")
    R<List<SysJob>> jobAll();

    /**
     * 根据名称加载定时任务
     *
     * @param jobName
     * @return
     */
    @GetMapping("/sys-job/listJobName/{jobName}")
    R<List<SysJob>> listJobName(@PathVariable("jobName") String jobName);

    /**
     * 根据名称加载定时任务
     *
     * @param groupName
     * @return
     */
    @GetMapping("/sys-job/listJobGroup/{groupName}")
    R<List<SysJob>> listJobGroup(@PathVariable("groupName") String groupName);

}
